package com.jinmdz.app.dao.model.cremation;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.common.annotation.AnColumn;
import com.jinmdz.fmis.common.annotation.AnTable;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

@ApiModel(value = "骨灰发放待取灰信息查询列表加载接口", description = "骨灰发放待取灰信息查询列表加载接口")
@AnTable(value = "Sheet", title = "骨灰发放待取灰信息查询列表加载接口")
public class SearchTakeAshViewItem extends BaseBean {
    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 1)
    @AnColumn(value = "业务编码", index = 0)
    private String businessCode;

    /**
     * 逝者家属姓名
     */
    @ApiModelProperty(value = "逝者家属姓名", name = "memberName", position = 2)
    @AnColumn(value = "家属姓名", index = 1)
    private String memberName;

    /**
     * 承办人或单位
     */
    @ApiModelProperty(value = "承办人或单位", name = "agentName", position = 3)
    @AnColumn(value = "承办人", index = 2)
    private String agentName;

    /**
     * 承办人单位
     */
    @ApiModelProperty(value = "承办人单位", name = "agentUnit", position = 4)
    @JsonIgnore
    private String agentUnit;

    /**
     * 逝者姓名
     */
    @ApiModelProperty(value = "逝者姓名", name = "deadName", position = 5)
    @AnColumn(value = "逝者姓名", index = 3)
    private String deadName;

    /**
     * 逝者性别编号
     */
    @ApiModelProperty(value = "逝者性别编号", name = "deadGenderCode", position = 6)
    @JsonIgnore
    private Integer deadGenderCode;

    /**
     * 逝者性别
     */
    @ApiModelProperty(value = "逝者性别", name = "deadGender", position = 7)
    @AnColumn(value = "逝者性别", index = 4)
    @AnDict(dict = EDictCode.SEX, ref = "deadGenderCode")
    private String deadGender;

    /**
     * 逝者年龄
     */
    @ApiModelProperty(value = "逝者年龄", name = "deadAge", position = 8)
    @AnColumn(value = "年龄", index = 5)
    private String deadAge;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", name = "certificateNo", position = 9)
    @AnColumn(value = "证件号码", index = 6)
    private String certificateNo;

    /**
     * 接运地点
     */
    @ApiModelProperty(value = "接运地点", name = "transportPlace", position = 10)
    @AnColumn(value = "接运地点", index = 7)
    private String transportPlace;

    /**
     * 火化证号
     */
    @ApiModelProperty(value = "火化证号", name = "cremationNo", position = 11)
    @AnColumn(value = "火化证号", index = 8)
    private String cremationNo;

    /**
     * 惠民区域编码
     */
    @ApiModelProperty(value = "惠民区域编码", name = "benefitDistrictCode", position = 12)
    @JsonIgnore
    private Integer benefitDistrictCode;

    /**
     * 惠民区域
     */
    @ApiModelProperty(value = "惠民区域", name = "benefitDistrict", position = 13)
    @AnColumn(value = "惠民区域", index = 9)
    @AnDict(dict = EDictCode.HUIMIN_REGION, ref = "benefitDistrictCode")
    private String benefitDistrict;

    /**
     * 到馆时间
     */
    @ApiModelProperty(value = "到馆时间", name = "arrivedTime", position = 14)
    @AnColumn(value = "到馆时间", pattern = BaseBean.yyyy_MM_dd_HH_mm, index = 10)
    @JsonFormat(pattern = BaseBean.yyyy_MM_dd_HH_mm)
    private Date arrivedTime;

    public String getBusinessCode() {
        return businessCode;
    }

    public SearchTakeAshViewItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getMemberName() {
        return memberName;
    }

    public SearchTakeAshViewItem setMemberName(String memberName) {
        this.memberName = memberName;
        return this;
    }

    public String getAgentName() {
        return agentName;
    }

    public SearchTakeAshViewItem setAgentName(String agentName) {
        this.agentName = agentName;
        return this;
    }

    public String getAgentUnit() {
        return agentUnit;
    }

    public SearchTakeAshViewItem setAgentUnit(String agentUnit) {
        this.agentUnit = agentUnit;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public SearchTakeAshViewItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public Integer getDeadGenderCode() {
        return deadGenderCode;
    }

    public SearchTakeAshViewItem setDeadGenderCode(Integer deadGenderCode) {
        this.deadGenderCode = deadGenderCode;
        return this;
    }

    public String getDeadGender() {
        return deadGender;
    }

    public SearchTakeAshViewItem setDeadGender(String deadGender) {
        this.deadGender = deadGender;
        return this;
    }

    public String getDeadAge() {
        return deadAge;
    }

    public SearchTakeAshViewItem setDeadAge(String deadAge) {
        this.deadAge = deadAge;
        return this;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public SearchTakeAshViewItem setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
        return this;
    }

    public String getTransportPlace() {
        return transportPlace;
    }

    public SearchTakeAshViewItem setTransportPlace(String transportPlace) {
        this.transportPlace = transportPlace;
        return this;
    }

    public String getCremationNo() {
        return cremationNo;
    }

    public SearchTakeAshViewItem setCremationNo(String cremationNo) {
        this.cremationNo = cremationNo;
        return this;
    }

    public Integer getBenefitDistrictCode() {
        return benefitDistrictCode;
    }

    public SearchTakeAshViewItem setBenefitDistrictCode(Integer benefitDistrictCode) {
        this.benefitDistrictCode = benefitDistrictCode;
        return this;
    }

    public String getBenefitDistrict() {
        return benefitDistrict;
    }

    public SearchTakeAshViewItem setBenefitDistrict(String benefitDistrict) {
        this.benefitDistrict = benefitDistrict;
        return this;
    }

    public Date getArrivedTime() {
        return arrivedTime;
    }

    public SearchTakeAshViewItem setArrivedTime(Date arrivedTime) {
        this.arrivedTime = arrivedTime;
        return this;
    }
}
